#ifndef PARTICLEDRAGGENERATOR_H
#define PARTICLEDRAGGENERATOR_H

#include "AbstractParticleForceGenerator.h"

namespace SimPhy
{


class ParticleDragGenerator : public AbstractParticleForceGenerator
{
public:
    /** Creates the generator with the given coefficient
      * \param velocity drag coefficient
      * \param velocity squared drag coefficient
      */
    ParticleDragGenerator(real const k1, real const k2);

    virtual ~ParticleDragGenerator();

   /** Applies the drag force to the given particle. */
   virtual void updateForce(Particle *particle, real timeStep);

private:
    /** Holds the velocity drag coefficient */
    real m_k1;
    /** Holds the velocitiy suqared drag coefficient */
    real m_k2;

};

}

#endif // PARTICLEDRAGGENERATOR_H
